<?php

namespace app\admin\model;
use app\admin\model\cans\Parameter;
use think\facade\Db;
use think\Model;

/**
 * Message
 */
class Message extends Model
{
    // 表名
    protected $name = 'message';

    // 自动写入时间戳字段
    protected $autoWriteTimestamp = true;
    protected $createTime = 'timestamp'; // 自定义创建时间字段名

    // 字段类型转换
    protected $type = [
        'timestamp' => 'timestamp:Y-m-d H:i:s',
    ];

    public function user(): \think\model\relation\BelongsTo
    {
        return $this->belongsTo(\app\admin\model\User::class, 'uid', 'id');
    }
    public function parameter()
    {
        // hasOne(关联模型类名, 外键, 主键)
        return $this->hasOne(Parameter::class, 'id', 'type');
    }

    public function getImgsAttr($value): array
    {
        if ($value === '' || $value === null) return [];
        if (!is_array($value)) {
            return explode(',', $value);
        }
        return $value;
    }

    public function setImgsAttr($value): string
    {
        return is_array($value) ? implode(',', $value) : $value;
    }

    public function setAgentIdAttr($value,$row)
    {
          if(!empty($row['ordernum'])){
             return Db::name('order')
                ->where('ordernum', $row['ordernum'])
                ->value("agent_id");
          }
    }
    
}